perm filename GULI2[F8,ALS] blob sn#300822 filedate 1977-08-19 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	Work to be done in my absence
C00007 ENDMK
C⊗;
Work to be done in my absence
    Clean up all details as to interrupts so that the following outline may
    be executed with dummy time-delay loops in place of those sections that
    actually require the execution of the checkers parts of the program.  These
    loops should be long enough to require at least 3 interrupts during there
    execution so that there is no doubt about the ruggedness of the program
    structure and a comparison should be of the contents of all saved
    registers before and after the interrupts by storing an arbitrary set
    of values in these registers before one such loop and testing the contents
    at the end of the loop.
 .  Those portions of the program that can be so replaced and left until my
    return are marked with asterisks.  ****

General outline of program
1.  Ask initial questions
   .1  Skill level
   .2. Joystick vs. keyboard
       There should be time for initiation instructions ****
   .3. Play black or red
2.  Branch on answer to last question
   .1  If player choses black
     .11 Display board with black pieces at bottom
         Store board in Scratchpad into H←TREE
     .12 Branch on answer to second question
       .121  If Joystick, go to 4
       .122  Keyboard routines are still incomplete ****
             Leave this part untill later as it is less important
   .2  If player choses red display board with red pieces at bottom  ****
        Display caption "Thank you", chose an initial move (by random number)
        Make initial move and redisplay board after machines move
        Go to 4
3.  Display "MY MOVE"
    Store board from scratchpad into H←RED
    Enter TREE routine at FIND ****
    Tree routine exits with board after the machine's move at H←TREE
    If program has a losing position go to 5
    If program has a sure win go to 6
    Move board into scratchpad and display it
    Go to 4
4.  Display "YOUR MOVE"
    Show cursor at position called for by joystick
    Follow movements of joystick with cursor and wait for hit button
   .1  On first hit verify that piece can move
       Some details as to move verification may be left out ****
     .12  If piece can not move display "TRY AGAIN", and go to 4
     .13  If piece can move show approval by blinking or in some other way
       .131 Interigate joystick and wait for second hit
            If move is not legal ****
               Display "Illegal"
               Perhaps emit a growl
               If this is the first Illegal attempt go to 4.131
               If this is a second attempt, display "START OVER" and go to 4
            If move is legal ****
               Move piece ****
               Remove cursor
               Show board
               Go to 3.
5.  Display "YOU WIN IN __ MOVES"
   .1 If playing TOM go to 4 else go to 1
6.  Display "I WIN IN __ MOVES"
   .1 Go to 3